const OpenAI = require('openai')
const Conversation = require('./db/conversationSchema.js')

const openai = new OpenAI(
    {
        // 若没有配置环境变量，请用百炼API Key将下行替换为：apiKey: "sk-xxx",
        apiKey: 'sk-4dceeb502cf64372a15e6f43fd61acf5', // 如何获取API Key：https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
    }
);

module.exports = async function main(params) {
    // 查询会话列表
    let data = await Conversation.find(params)
    // 将对话记录提交给AI
    console.log(data);
    const completion = await openai.chat.completions.create({
        // 模型列表：https://help.aliyun.com/zh/model-studio/getting-started/models
        model: "qwen-plus", // 模型名称
        messages: [
            { role: "system", content: "你是“绿能芯租”企业的智能AI，口号：“用心创新，同心致远”，目标：专注新能源电池研发，领航绿色储能新未来！企业简章：我们正在用心助力数字化创新经济转型升级，为客户和社会创造价值。基于客户的需求，我们的创新技术和全面的数字化解决方案涵盖众多的业务领域，能够帮助中国企业将数字化愿景变为现实。回复用户时语句简短精准，尽量控制在20-100字" },
            ...data.map(v => ({ role: v.type ? 'assistant' : 'user', content: v.word }))]
    });
    // 数据库添加AI回复内容
    await new Conversation({ state: 0, time: new Date().getTime(), ...params, word: completion.choices[0].message.content, type: 1, admin: 'admin' }).save()
}